Saltar al contenido principal

Cambio de Receta vía HTTP con Node-RED

Este tutorial le muestra cómo cambiar recetas de forma remota en su cámara OV20i usando simples solicitudes HTTP. Construirá un sistema que permita a cualquier dispositivo en su red cambiar entre diferentes configuraciones de inspección al instante, perfecto para líneas de producción con múltiples productos.

Lo que va a construir: Un sistema de conmutación de recetas remoto que responde a comandos HTTP desde tabletas, computadoras, PLCs, o cualquier dispositivo que pueda enviar solicitudes web.

Tiempo estimado: 15-20 minutos

Nivel de habilidad: Principiante

Ejemplo real: Considere a un operador que escanea un código de barras en su tableta, y la cámara cambia automáticamente a la receta correcta para ese producto; eso es exactamente lo que estamos construyendo.

¿Por qué los cambios de receta mediante HTTP facilitan el trabajo?

La OV20i facilita el cambio remoto de recetas de la siguiente manera:

  • Cualquier dispositivo puede activar - tabletas, PLCs, computadoras, incluso teléfonos inteligentes
  • Cambio instantáneo - las recetas cambian en menos de un segundo
  • Sin configuración compleja - solo unos nodos en Node-RED
  • Funciona con sistemas existentes - se integra con lo que ya tiene

Perfecto para: Líneas con múltiples productos, paneles de control del operador, sistemas automatizados, o en cualquier lugar donde necesite cambios rápidos de receta.

Prerrequisitos

Antes de empezar, asegúrese de tener:

  • Cámara OV20i conectada y funcionando
  • Al menos 2 recetas creadas y listas para usar
  • Acceso a Node-RED (a través de IO Block)
nota

Necesitará los números de ID de receta; estos se encuentran en la barra de direcciones de su navegador al editar las recetas.

Paso 1: Encontrar Sus Números de Receta

1.1 Obtener IDs de Receta

  1. Abrir cualquier receta en el Editor de Recetas
  2. Mirar la barra de direcciones de su navegador
  3. Encontrar el número después de /recipe/ (ejemplo: /recipe/15 significa que el ID de Receta es 15)
  4. Anote los IDs para todas las recetas entre las que quiera cambiar

¿Por qué estos números? Cada receta tiene un ID único que nunca cambia; esto es lo que la cámara usa internamente.

Paso 2: Abrir Node-RED

2.1 Acceder al Flow Builder

  1. En cualquier Editor de Recetas, haga clic en "IO Block"
  2. Haga clic en "Configure IO"

Ahora está en Node-RED donde construiremos su sistema de conmutación de recetas!

2.2 Planifique su Configuración

Aquí está lo que vamos a construir:

Button Click → Format Request → Send to Camera → See Result

¡Fácil! La cámara tiene un servidor web integrado que escucha las solicitudes de cambio de receta.

Paso 3: Construya su Cambiador de Recetas

3.1 Añada los Nodos Básicos

Arrastre estos 4 nodos a su lienzo:

  1. Inject (desde la sección Input) - Su botón de "cambiar receta"
  2. Function (desde la sección Function) - Formatea la solicitud correctamente
  3. HTTP Request (desde la sección Network) - Envía el comando a la cámara
  4. Debug (desde la sección Output) - Muestra si funcionó

3.2 Conéctelos

Conéctelos así exactamente:

Inject → Function → HTTP Request → Debug

¡Fácil! Ahora configuremos cada uno.

Paso 4: Configurar sus Nodos

4.1 Configurar su Botón de Receta

  1. Haga doble clic en el nodo Inject
  2. Cambie el nombre a "Cambiar a Receta 15" (utilice su ID de receta real)
  3. Configure la Carga Útil en "15" (su número de ID de receta)
  4. Haga clic en "Listo"

4.2 Configurar el Formateador de Solicitudes

  1. Haga doble clic en el nodo Function
  2. Nómbrelo "Formato de Solicitud"
  3. Copie este código simple:
// Get recipe number from button
let recipeID = msg.payload;

// Set up the web request
msg.headers = {'Content-Type': 'application/json'};
msg.payload = JSON.stringify({ id: recipeID });

return msg;

  1. Haga clic en "Listo"

Qué hace esto: Toma su número de receta y lo empaqueta de la forma que la cámara espera.

4.3 Configurar la Solicitud HTTP

  1. Haga doble clic en el nodo HTTP Request
  2. Configure el Método en "POST"
  3. Configure la URL en localhost:5001/pipeline/activate
  4. Nómbrelo "Cambiar Receta"
  5. Haga clic en "Listo"
nota

Antes de la versión 18.92: use http://[CAMERA_IP]/edge/pipeline/activate Versión 18.92 y posteriores: use http://localhost:5001/pipeline/activate

4.4 Configurar el Monitor de Respuesta

  1. Haga doble clic en el nodo Debug
  2. Nómbrelo "Resultado del Cambio de Receta"
  3. Haga clic en "Listo"

¡Perfecto! Su cambair de receta está listo para probar.

Paso 5: Probar su Cambiador de Recetas

5.1 Desplegar y Probar

  1. Haga clic en el botón rojo "Desplegar"
  2. Haga clic en su botón de inyección (Cambiar a Receta 15)
  3. Observe el panel de depuración para la respuesta

5.2 Verifique si Funcionó

Señales de éxito:

  • El panel de depuración muestra "success": true
  • La interfaz de la cámara muestra el nuevo nombre de la receta
  • No hay mensajes de error en el panel de depuración

Si funcionó: ¡Felicidades! Acaba de cambiar las recetas de forma remota.

Si no: Revise la sección de solución de problemas a continuación.

5.3 Agregue más Botones de Receta

¿Quiere varias recetas? Simplemente agregue más nodos Inject:

  • Botón de Receta 10: Carga útil = "10", Nombre = "Cambiar a Receta 10"
  • Botón de Receta 23: Carga útil = "23", Nombre = "Cambiar a Receta 23"
  • Todos conectados al mismo nodo Function

Paso 6: Usar desde Otros Dispositivos

¡Ahora la parte divertida! Cualquier dispositivo puede cambiar recetas enviando solicitudes web a su cámara.

6.1 Desde Cualquier Navegador Web

Escriba esto en cualquier navegador de su red:

http://192.168.0.100:5001/pipeline/activate

nota

Reemplace con la dirección IP de su cámara.

6.2 Desde la Línea de Comandos

Windows/Mac/Linux - cambiar a la receta 15:

curl -X POST http://192.168.0.100:5001/pipeline/activate \
-H "Content-Type: application/json" \
-d '{"id": "15"}'

6.3 Desde PLCs y Otros Sistemas

La mayoría de los sistemas modernos pueden enviar solicitudes HTTP:

  • PLCs Siemens: Use bloques cliente HTTP
  • Allen-Bradley: Use bloques de instrucción HTTP
  • Python/C#/Java: Use bibliotecas HTTP estándar
  • Aplicaciones personalizadas: Cualquier lenguaje de programación funciona

El formato de la solicitud es siempre el mismo:

  • Método: POST
  • URL: http://[CAMERA_IP]:5001/pipeline/activate
  • Cuerpo: {"id": "RECIPE_NUMBER"}

Paso 7: Haga que Sea Aún Mejor

7.1 Añadir Validación de Recetas

¿Quiere evitar cambiar a recetas que no existen? Modifique su función:

let recipeID = msg.payload;
let validRecipes = ["10", "15", "20"]; // Your actual recipe IDs

if (!validRecipes.includes(recipeID)) {
msg.payload = "Invalid recipe: " + recipeID;
return null; // Don't send request
}

// Normal formatting continues...

7.2 Mapeo de Código de Producto

¿Quiere usar nombres de producto en lugar de números? Intente esto:

let productCodes = {
"BOLT_A": "10",
"BOLT_B": "15",
"SCREW_C": "20"
};

let recipeID = productCodes[msg.payload];
// Continue with formatting...

¡Ahora puede activar con nombres de producto en lugar de números!

7.3 Procesamiento de Respuestas

¿Quiere mejores mensajes de éxito/errores? Añada otra función después de la Solicitud HTTP:

let response = JSON.parse(msg.payload);

if (response.success) {
msg.payload = "✓ Recipe changed successfully!";
} else {
msg.payload = "✗ Recipe change failed: " + response.error;
}

return msg;

Paso 8: Solución rápida de problemas

¿No funciona? Aquí están las correcciones más comunes:

ProblemaSolución rápida
Error "Receta no encontrada"Verifique que el número de ID de receta en la URL sea correcto
Sin respuestaVerifique la dirección IP de la cámara y la conexión de red
Mensaje "Parse error"Verifique que el código del nodo Function esté copiado correctamente
La receta no cambiaAsegúrese de que la receta exista y no esté dañada

¿Sigue teniendo problemas? Verifique que su cámara esté en línea y accesible desde Node-RED.

¡Lo logró!

¡Felicidades! Ahora tiene control remoto de las recetas de su cámara OV20i. Con solo unos clics, ha construido un sistema que puede:

  • Cambiar recetas instantáneamente desde cualquier dispositivo en su red
  • Integrar con sistemas existentes como PLCs, tabletas o computadoras
  • Soportar múltiples recetas con simples clics de botón
  • Validar solicitudes para evitar errores
  • Trabajar con aplicaciones personalizadas usando tecnología web estándar

¿Qué sigue?

Ahora que tiene lo básico funcionando, puede:

Pasos siguientes fáciles

  • Agregar más botones de recetas para todos sus productos
  • Probar desde diferentes dispositivos como tabletas o teléfonos
  • Crear mapeos de productos personalizados para una operación más sencilla

Ideas Avanzadas

  • Construir dashboards de operador con botones de selección de receta
  • Conectar a escáneres de códigos de barras para selección automática de recetas
  • Integrar con sistemas MES para coordinación de la línea de producción
  • Agregar registros para rastrear qué recetas se utilizan y cuándo

Ejemplos del mundo real

Así es como otros usan el cambio de receta vía HTTP:

  • Embalaje de alimentos: El escáner de código de barras activa un cambio de receta para diferentes tamaños de empaque
  • Automotriz: El PLC cambia las recetas según el tipo de pieza que avanza por la línea
  • Electrónica: Tableta del operador con botones de receta para diferentes placas de circuito
  • Control de calidad: Cambio automático de recetas según el programa de producción

Las posibilidades son infinitas, y todo comienza con el sistema simple que acaba de construir!

🔗 Ver También